將GitHub的專案,clone至指定資料夾(ngapp2)。
ngapp代表同事A,ngapp2代表同事B。
ngapp的分支。
ngapp2的分支。
remotes/origin/HEAD -> origin/master分支,可以不用理它。
會發現,ngapp2比ngapp少了2條本地分支(br3、feature)。
這種狀況不用太在意,我們所要做的是,確認要在哪條分支開發。
假設我們想要在ngapp2開發一個新功能,並且從feature分支開發。
先切換至feature分支。
這時,有個疑問,我們的本地端並沒有feature分支。
那可以切換至remotes/origin/feature分支嗎?
當然不行,原因Git-本地分支、遠端分支、遠端追蹤分支說過了。
直接切換至feature分支,看看會有什麼結果。
由於git找不到本地feature分支,它會找到remotes/origin/feature與feature分支同名的遠端追蹤分支。
建立feature分支,並將remotes/origin/feature設為feature分支的遠端追蹤分支。
但如果切換至feature1分支,會發生錯誤。
因為git找不到名為feature1的遠端追蹤分支。
建立br1分支,新增檔案,再commit。
此時,br1是最新版的分支。
但目前這個分支只存在於同事B的本地端,同事A並沒有這個分支。
那要如何讓同事A能夠取得br1分支呢?
先將br1 push至遠端儲存庫。
遠端儲存庫確實有br1分支。
在ngapp確認分支情況。
ngapp沒有br1的遠端追蹤分支,那要如何取得呢?
使用fetch取得更新。
訊息顯示,取得br1的遠端追蹤分支。
再看一次分支情況。
OK,已經取得br1的遠端追蹤分支。
跟剛剛的方式一樣,取得br1分支。
執行git log。
ngapp2再執行一次git log。
這次,雙方版控情況,完全相同。
本文為觀看網路教學的學習筆記。